namespace Crux.Core.LangChain.Abstractions.DocumentLoaders;
/// <summary>
/// 
/// </summary>
public interface IDocumentLoader
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="dataSource"></param>
    /// <param name="settings"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<IReadOnlyCollection<Document>> LoadAsync(
        DataSource dataSource,
        DocumentLoaderSettings? settings = null,
        CancellationToken cancellationToken = default);
}